Merged
Conversation
handleReplCommand now returns a boolean indicating whether the command was handled, so commands like 'help' and 'clear' don't fall through to the parser and cause undefined variable errors. Fixes #890 Co-authored-by: Dean Tarisai <prjctimg@outlook.com>
…as decimal (#954) - Add support for 0o/0O prefix for explicit octal literals in lexer - Change parser to explicitly handle bases instead of auto-detection - Leading zeros without prefix are now treated as decimal (not octal) - 0123 is now 123 (decimal), use 0o123 for octal 83 - 09 is now valid as decimal 9 - Add comprehensive tests for octal literals and base handling Fixes #915
The objectTypeToEZ function was missing a case for *Map, causing the internal type name "MAP" to leak in error messages instead of showing the proper "map[keyType:valueType]" format. Fixes #945
…or messages (#956) Replace all direct .Type() calls in error messages with objectTypeToEZ() or getEZTypeName() to prevent internal Go type names like INTEGER_OBJ, MAP_OBJ from leaking into user-facing errors. Changes: - evaluator.go: ~30 instances replaced with objectTypeToEZ() - interpreter/builtins.go: updated getEZTypeName() to include typed arrays/maps - stdlib/builtins.go: 5 instances replaced with getEZTypeName() - math.go: 1 instance replaced with getEZTypeName() - json.go: 2 instances replaced with getEZTypeName() Users now see friendly type names like "int", "[string]", "map[string:int]" instead of "INTEGER_OBJ", "ARRAY_OBJ", "MAP_OBJ". Fixes #948
json.decode() now requires a type argument at compile time. Previously, calling json.decode(text) without a type would return an internal 'any' type that users couldn't actually use in their code. Changes: - Add E13004 error code for missing type argument - Update checkJsonModuleCall to require 2 arguments for decode - Update getModuleMultiReturnTypes to return nil without type arg - Update inferJSONCallType to return false without type arg - Remove dead code for non-existent parse/parse_file functions Closes #947
#958) Both getEZTypeName and objectTypeToEZ now handle all object types: - Range → "Range<int>" - FileHandle → "File" - Database → "Database" - Reference → "Ref<innerType>" - Char → "char" (added to objectTypeToEZ) - Byte → "byte" (added to objectTypeToEZ) Also exports FileHandle and Database type aliases from interpreter package for consistency. Closes #946
This was
linked to
issues
Jan 8, 2026
Closed
…960) - Fix io.exists/is_dir/is_file return type: remove from multi-return types list since they return single bool, not (bool, error) tuple - Change os.get_env to return (string, error) tuple instead of string|nil for proper type checking - Fix overflow tests to use i64 instead of int (int is arbitrary precision with no bounds, i64 is fixed 64-bit) - Add warning tests section to run_tests.sh - Update unit tests for new os.get_env API Co-authored-by: UiJong, Yang <Scanf-s@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Batch of bug fixes from January 9, 2026.
Fixes included:
objectTypeToEZmissing Map case, causing "MAP" to leak in error messages (regression from #904) #945 - fix(interpreter): add Map case to objectTypeToEZ functionjson.decode()returns internal 'any' type that users cannot use #947 - fix(typechecker): require type argument for json.decodeTest plan